package org.tea.inventory.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.tea.inventory.db.domain.Storage;
import org.tea.inventory.domain.sys.SysDictData;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @author hanzy
 * @description
 * @date 2023年04月06日 13:33
 */
@Data
public class SkuVo {

    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "")
    private Long skuId;
    /**
     * 产品编号
     */
    @ApiModelProperty(value = "产品编号")
    private String seq;
    /**
     * 产品名称
     */
    @ApiModelProperty(value = "产品名称")
    private String name;
    /**
     * 产品种类：0-积分商品 1-节日礼品
     */
    @ApiModelProperty(value = "产品种类：0-积分商品 1-节日礼品")
    private Integer skuType;

    @ApiModelProperty(value = "产品属性")
    private String productAttribute;

    private List<String> productAttributes;

    private List<Long> skuIds;
    /**
     * 产品属性 0-虚拟 1-实物
     */
    @ApiModelProperty(value = "产品属性 0-虚拟 1-实物")
    private String productAttributeName;
    /**
     * 产品所在地
     */
    @ApiModelProperty(value = "产品所在地")
    private String location;
    /**
     * 兑换方式 0-无需快递 1-快递
     */
    @ApiModelProperty(value = "兑换方式 0-无需快递 1-快递")
    private String deliveryType;
    /**
     * 兑换方式 0-无需快递 1-快递
     */
    @ApiModelProperty(value = "兑换方式 0-无需快递 1-快递")
    private String deliveryTypeName;

    private List<SysDictData> dictDataList;

    private List<SysDictData> reclaimAddrList;

    private List<String> deliveryTypes;
    /**
     * 价格
     */
    @ApiModelProperty(value = "价格")
    private Long price;
    /**
     * 商品图
     */
    @ApiModelProperty(value = "商品图")
    private String imgUrl;
    /**
     * 状态 -1:删除, 0:下架, 1:上架
     */
    @ApiModelProperty(value = "状态 -1:删除, 0:下架, 1:上架")
    private Integer status;
    /**
     * 状态 -1:删除, 0:下架, 1:上架
     */
    @ApiModelProperty(value = "状态 -1:删除, 0:下架, 1:上架")
    private String statusName;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String creater;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createTime;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date modifyTime;
    /**
     * 实际库存
     */
    @ApiModelProperty(value = "实际库存")
    private Integer actualStock;
    /**
     * 锁定库存
     */
    @ApiModelProperty(value = "锁定库存")
    private Integer lockStock;
    /**
     * 可售卖库存
     */
    @ApiModelProperty(value = "可售卖库存")
    private Integer stock;
    /**
     * 福利id
     */
    @ApiModelProperty(value = "福利id")
    private Long welfareId;
    /**
     * 福利id
     */
    @ApiModelProperty(value = "福利标题")
    private String title;
    @ApiModelProperty(value = "关联福利信息")
    private WelfareVo welfareVo;
    @ApiModelProperty(value = "商品备注")
    private String comment;
    @ApiModelProperty(value = "商品购买人数")
    private Long count;
    private String orderByClause;
    private Integer isSys;
    @ApiModelProperty(value = "商品历史价格")
    private String hisPrice;
    private ContactVo contactInfo;
    @ApiModelProperty(value = "副图")
    private String imgIds;
    @ApiModelProperty(value = "商品介绍")
    private String skuDesc;
    @ApiModelProperty(value = "副图")
    private List<Storage> imgs;

    @ApiModelProperty(value = "快递类型 0-不包邮 1-包邮")
    private String freightType;

    @ApiModelProperty(value = "运费")
    private Long freightAmount;

    @ApiModelProperty(value = "积分区间")
    private String pointsRange;
    private Long pointsMin;
    private Long pointsMax;

    @ApiModelProperty(value = "状态  0:未置顶, 1:置顶")
    private Integer skuPosition;

    @ApiModelProperty(value = "销量")
    private String total_sales;

    @ApiModelProperty(value = "销量和价格排序字段  saleAsc:销量由低到高, saleDesc: 销量由高到低,priceAsc:价格由低到高,priceDesc：价格由高到低 ")
    private String saleBySort;

    @ApiModelProperty(value = "福利类型 0-非福利 1-福利")
    private String welfare;

    @ApiModelProperty(value = "商品简称")
    private String brief;

    @ApiModelProperty(value = "热销商品是否置顶状态  0:未置顶, 1:置顶")
    private Integer hotSkuPosition;//用于热门商品

    @ApiModelProperty(value = "是否新品  0:否, 1:是")
    private Integer isNewSku;//是否新品

    @ApiModelProperty(value = "折扣比例")
    private Double discountRatio;

    @ApiModelProperty(value="销售价格￥")
    private Double salesPrice;

    //原来显示兑换积分price，改成：兑换积分redeemPoints+现金支付wxPay￥。

    //兑换积分=后台兑换积分*折扣比例，取整；
    @ApiModelProperty(value = "兑换积分")
    private Long redeemPoints;

    //现金支付=后台兑换积分*（1-折扣比例），小数点后保留2位。
    @ApiModelProperty(value = "现金支付")
    private String wxPay;


}
